home *** CD-ROM | disk | FTP | other *** search
- /*
- * arch/i386/libgcc/__divdi3.c
- */
-
- #include <stdint.h>
- #include <stddef.h>
-
- extern uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t *rem);
-
- int64_t __divdi3(int64_t num, int64_t den)
- {
- int minus = 0;
- int64_t v;
-
- if ( num < 0 ) {
- num = -num;
- minus = 1;
- }
- if ( den < 0 ) {
- den = -den;
- minus ^= 1;
- }
-
- v = __udivmoddi4(num, den, NULL);
- if ( minus )
- v = -v;
-
- return v;
- }
-